1. Field
This disclosure relates generally to integrated circuit memories, and more specifically, to non-volatile memory (NVM) cell configurations for use with data and code.
2. Related Art
A data processing system implemented on an integrated circuit may use one or more non-volatile memories for various purposes. For example, one non-volatile memory may be used to store code that is executed by a processor, and another non-volatile memory may store data. Typically, the contents of the code NVM do not change very often and require only a relatively small number of program/erase cycles over the life of the integrated circuit. On the other hand, the data stored by the data NVM may change often depending on the application, and require many program/erase cycles over the life of the integrated circuit.
There are various types of non-volatile memories. One NVM type uses discrete elements like nanocrystals for charge storage. Other memory types may use nitride or a polysilicon floating gate for charge storage. Generally, any of the various types of NVM cells can be subjected to only a limited number program/erase cycles because each program/erase cycle degrades one or more aspects of the memory cells. For example, in a nanocrystal memory cell having high temperature oxide to isolate the nanocrystals from the control gate, charge trapping may occur in the oxide from repeated program/erase cycles that will cause the erased threshold voltage to rise. Also, the higher erased threshold voltage may be caused by erase saturation due to the nanocrystals on the edge of the control gate not being erased completely. The cells that are not erased completely will prevent a channel from fully forming along the edge of the control gate, resulting in a lower channel transconductance and higher threshold voltage. The higher erased threshold voltage will result in a reduced read margin. Reducing the read margin adversely affects the ability to read data stored in the cell. In an integrated circuit having a data NVM and a code NVM this problem will affect the data NVM much sooner because the data is programmed and erased more frequently, thus leading to premature failure of the integrated circuit.
Therefore, a need exists for an integrated circuit having a code NVM and a data NVM that solves the above problems.